Conventional document processing applications provide users the ability to insert various types of objects into electronic documents under creation or maintenance. The objects represent any form of data and include, for example, graphics, tables, icons, graphs and other electronic documents (e.g., spreadsheets, word processing documents, etc.). Generally, the objects are categorized as being either absolutely positioned objects or floating objects.
An absolutely positioned object is an object having an absolute position on a page in an electronic document. As such, text is input into the electronic document around absolutely positioned objects. In contrast, a floating object is an object that is not tied to any particular position in an electronic document. While unbounded within a host electronic document, a floating object may be, and typically is, constrained to a particular position within a body of text. That is, as text preceding a floating object is added to or deleted from the document, the position of that floating object is modified relative to its position within the document, but the position of that floating object relative to the remaining text does not change.
The positioning of floating objects in electronic documents is not an easy task. Oftentimes, floating objects are positioned in undesirable positions within an electronic document, as is the case in which the document includes obstacles, such as absolutely positioned objects and other floating objects. The obstacles work against the floating objects and tend to affect the positioning of floating objects in the document in an adverse way. For example, floating objects typically have internal properties that are completely disregarded in favor of positioning the objects around obstacles. Yet another example relates the positioning of floating objects adjacent obstacles, which, in turn, causes the floating object to extend across outer boundaries (e.g., margins) defined for the host electronic document.
It is with respect to these and other considerations that the present invention has been made.